package com.chx.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @Author cp-月入过万
 * @Date 2025/5/29
 * 商品表
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Products implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty("商品ID")
    //  商品id，自增，主键
    private Long productId;

    @ApiModelProperty("商品编码")
    //  商品编码，唯一
    private String productCode;

    @ApiModelProperty("商品名称")
    //  商品名称
    private String productName;

    @ApiModelProperty("分类ID")
    //  分类id，外键关联分类表
    private Long categoryId;

    @ApiModelProperty("供应商ID")
    //  供应商id，外键关联供应商表
    private Long supplierId;

    @ApiModelProperty("商品规格")
    //  商品规格
    private String specification;

    @ApiModelProperty("计量单位")
    //  计量单位
    private String unit;

    @ApiModelProperty("采购价格")
    //  采购价格
    private Double purchasePrice;

    @ApiModelProperty("销售价格")
    //  销售价格
    private Double salePrice;

    @ApiModelProperty("库存数量")
    //  库存数量
    private Long stockQuantity;

    @ApiModelProperty("最低库存警戒线")
    //  最低库存警戒线
    private Long minStock;

    @ApiModelProperty("最高库存警戒线")
    //  最高库存警戒线
    private Long maxStock;

    @ApiModelProperty("商品描述")
    //  商品描述
    private String description;

    @ApiModelProperty("创建时间")
    //  创建时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;

    @ApiModelProperty("修改时间")
    //  修改时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime updateTime;
}
